/**
 * <copyright>
 * </copyright>
 *
 */
package lco.cRLanguage.util;

import lco.cRLanguage.*;

import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notifier;

import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;

import org.eclipse.emf.ecore.EObject;

/**
 * <!-- begin-user-doc -->
 * The <b>Adapter Factory</b> for the model.
 * It provides an adapter <code>createXXX</code> method for each class of the model.
 * <!-- end-user-doc -->
 * @see lco.cRLanguage.CRLanguagePackage
 * @generated
 */
public class CRLanguageAdapterFactory extends AdapterFactoryImpl
{
  /**
   * The cached model package.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected static CRLanguagePackage modelPackage;

  /**
   * Creates an instance of the adapter factory.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public CRLanguageAdapterFactory()
  {
    if (modelPackage == null)
    {
      modelPackage = CRLanguagePackage.eINSTANCE;
    }
  }

  /**
   * Returns whether this factory is applicable for the type of the object.
   * <!-- begin-user-doc -->
   * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
   * <!-- end-user-doc -->
   * @return whether this factory is applicable for the type of the object.
   * @generated
   */
  @Override
  public boolean isFactoryForType(Object object)
  {
    if (object == modelPackage)
    {
      return true;
    }
    if (object instanceof EObject)
    {
      return ((EObject)object).eClass().getEPackage() == modelPackage;
    }
    return false;
  }

  /**
   * The switch that delegates to the <code>createXXX</code> methods.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected CRLanguageSwitch<Adapter> modelSwitch =
    new CRLanguageSwitch<Adapter>()
    {
      @Override
      public Adapter caseProgram(Program object)
      {
        return createProgramAdapter();
      }
      @Override
      public Adapter caseStatement(Statement object)
      {
        return createStatementAdapter();
      }
      @Override
      public Adapter caseAssignmentRightHand(AssignmentRightHand object)
      {
        return createAssignmentRightHandAdapter();
      }
      @Override
      public Adapter caseDeclaration(Declaration object)
      {
        return createDeclarationAdapter();
      }
      @Override
      public Adapter caseScalarDeclaration(ScalarDeclaration object)
      {
        return createScalarDeclarationAdapter();
      }
      @Override
      public Adapter caseVectorialDeclaration(VectorialDeclaration object)
      {
        return createVectorialDeclarationAdapter();
      }
      @Override
      public Adapter caseAssignment(Assignment object)
      {
        return createAssignmentAdapter();
      }
      @Override
      public Adapter caseScalarAssign(ScalarAssign object)
      {
        return createScalarAssignAdapter();
      }
      @Override
      public Adapter caseVectorialAssign(VectorialAssign object)
      {
        return createVectorialAssignAdapter();
      }
      @Override
      public Adapter caseCallable(Callable object)
      {
        return createCallableAdapter();
      }
      @Override
      public Adapter caseCalcCR(CalcCR object)
      {
        return createCalcCRAdapter();
      }
      @Override
      public Adapter caseCalcMean(CalcMean object)
      {
        return createCalcMeanAdapter();
      }
      @Override
      public Adapter caseHighestCR(HighestCR object)
      {
        return createHighestCRAdapter();
      }
      @Override
      public Adapter caseFindSimilar(FindSimilar object)
      {
        return createFindSimilarAdapter();
      }
      @Override
      public Adapter caseIntegerExpression(IntegerExpression object)
      {
        return createIntegerExpressionAdapter();
      }
      @Override
      public Adapter caseNumericFunctionExpression(NumericFunctionExpression object)
      {
        return createNumericFunctionExpressionAdapter();
      }
      @Override
      public Adapter caseMethod(Method object)
      {
        return createMethodAdapter();
      }
      @Override
      public Adapter caseSize(Size object)
      {
        return createSizeAdapter();
      }
      @Override
      public Adapter caseAdd(Add object)
      {
        return createAddAdapter();
      }
      @Override
      public Adapter caseDelete(Delete object)
      {
        return createDeleteAdapter();
      }
      @Override
      public Adapter caseVariable(Variable object)
      {
        return createVariableAdapter();
      }
      @Override
      public Adapter caseVectorialVariable(VectorialVariable object)
      {
        return createVectorialVariableAdapter();
      }
      @Override
      public Adapter caseScalarVariable(ScalarVariable object)
      {
        return createScalarVariableAdapter();
      }
      @Override
      public Adapter caseIndexedVariable(IndexedVariable object)
      {
        return createIndexedVariableAdapter();
      }
      @Override
      public Adapter caseIndexedVectorial(IndexedVectorial object)
      {
        return createIndexedVectorialAdapter();
      }
      @Override
      public Adapter caseFile(File object)
      {
        return createFileAdapter();
      }
      @Override
      public Adapter caseStringValue(StringValue object)
      {
        return createStringValueAdapter();
      }
      @Override
      public Adapter casePrint(Print object)
      {
        return createPrintAdapter();
      }
      @Override
      public Adapter caseFor(For object)
      {
        return createForAdapter();
      }
      @Override
      public Adapter caseForJava(ForJava object)
      {
        return createForJavaAdapter();
      }
      @Override
      public Adapter caseForAll(ForAll object)
      {
        return createForAllAdapter();
      }
      @Override
      public Adapter caseForWhile(ForWhile object)
      {
        return createForWhileAdapter();
      }
      @Override
      public Adapter caseForFile(ForFile object)
      {
        return createForFileAdapter();
      }
      @Override
      public Adapter defaultCase(EObject object)
      {
        return createEObjectAdapter();
      }
    };

  /**
   * Creates an adapter for the <code>target</code>.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param target the object to adapt.
   * @return the adapter for the <code>target</code>.
   * @generated
   */
  @Override
  public Adapter createAdapter(Notifier target)
  {
    return modelSwitch.doSwitch((EObject)target);
  }


  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.Program <em>Program</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.Program
   * @generated
   */
  public Adapter createProgramAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.Statement <em>Statement</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.Statement
   * @generated
   */
  public Adapter createStatementAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.AssignmentRightHand <em>Assignment Right Hand</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.AssignmentRightHand
   * @generated
   */
  public Adapter createAssignmentRightHandAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.Declaration <em>Declaration</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.Declaration
   * @generated
   */
  public Adapter createDeclarationAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.ScalarDeclaration <em>Scalar Declaration</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.ScalarDeclaration
   * @generated
   */
  public Adapter createScalarDeclarationAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.VectorialDeclaration <em>Vectorial Declaration</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.VectorialDeclaration
   * @generated
   */
  public Adapter createVectorialDeclarationAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.Assignment <em>Assignment</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.Assignment
   * @generated
   */
  public Adapter createAssignmentAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.ScalarAssign <em>Scalar Assign</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.ScalarAssign
   * @generated
   */
  public Adapter createScalarAssignAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.VectorialAssign <em>Vectorial Assign</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.VectorialAssign
   * @generated
   */
  public Adapter createVectorialAssignAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.Callable <em>Callable</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.Callable
   * @generated
   */
  public Adapter createCallableAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.CalcCR <em>Calc CR</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.CalcCR
   * @generated
   */
  public Adapter createCalcCRAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.CalcMean <em>Calc Mean</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.CalcMean
   * @generated
   */
  public Adapter createCalcMeanAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.HighestCR <em>Highest CR</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.HighestCR
   * @generated
   */
  public Adapter createHighestCRAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.FindSimilar <em>Find Similar</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.FindSimilar
   * @generated
   */
  public Adapter createFindSimilarAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.IntegerExpression <em>Integer Expression</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.IntegerExpression
   * @generated
   */
  public Adapter createIntegerExpressionAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.NumericFunctionExpression <em>Numeric Function Expression</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.NumericFunctionExpression
   * @generated
   */
  public Adapter createNumericFunctionExpressionAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.Method <em>Method</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.Method
   * @generated
   */
  public Adapter createMethodAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.Size <em>Size</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.Size
   * @generated
   */
  public Adapter createSizeAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.Add <em>Add</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.Add
   * @generated
   */
  public Adapter createAddAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.Delete <em>Delete</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.Delete
   * @generated
   */
  public Adapter createDeleteAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.Variable <em>Variable</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.Variable
   * @generated
   */
  public Adapter createVariableAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.VectorialVariable <em>Vectorial Variable</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.VectorialVariable
   * @generated
   */
  public Adapter createVectorialVariableAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.ScalarVariable <em>Scalar Variable</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.ScalarVariable
   * @generated
   */
  public Adapter createScalarVariableAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.IndexedVariable <em>Indexed Variable</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.IndexedVariable
   * @generated
   */
  public Adapter createIndexedVariableAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.IndexedVectorial <em>Indexed Vectorial</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.IndexedVectorial
   * @generated
   */
  public Adapter createIndexedVectorialAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.File <em>File</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.File
   * @generated
   */
  public Adapter createFileAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.StringValue <em>String Value</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.StringValue
   * @generated
   */
  public Adapter createStringValueAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.Print <em>Print</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.Print
   * @generated
   */
  public Adapter createPrintAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.For <em>For</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.For
   * @generated
   */
  public Adapter createForAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.ForJava <em>For Java</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.ForJava
   * @generated
   */
  public Adapter createForJavaAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.ForAll <em>For All</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.ForAll
   * @generated
   */
  public Adapter createForAllAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.ForWhile <em>For While</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.ForWhile
   * @generated
   */
  public Adapter createForWhileAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link lco.cRLanguage.ForFile <em>For File</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see lco.cRLanguage.ForFile
   * @generated
   */
  public Adapter createForFileAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for the default case.
   * <!-- begin-user-doc -->
   * This default implementation returns null.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @generated
   */
  public Adapter createEObjectAdapter()
  {
    return null;
  }

} //CRLanguageAdapterFactory
